]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
lookingGlass: add Ctrl+PageUp/PageDown key shortcuts for switching tabs
authorJason Siefken <siefkenj@gmail.com>
Fri, 21 Oct 2011 05:23:08 +0000 (22:23 -0700)
committerJasper St. Pierre <jstpierre@mecheye.net>
Fri, 21 Oct 2011 18:51:55 +0000 (14:51 -0400)
The view selector in the overview does it too, so why not here?

https://bugzilla.gnome.org/show_bug.cgi?id=652223

js/ui/lookingGlass.js

index 6ac52478419fc7c765f2b40ae9842ee437551bb3..0f0dfe901123662e981d8d1896c99a96b9a2b301 100644 (file)
@@ -151,6 +151,24 @@ Notebook.prototype = {
             return;
         let vAdjust = tabData.scrollView.vscroll.adjustment;
         vAdjust.value = vAdjust.upper - vAdjust.page_size;
+    },
+
+    nextTab: function() {
+        let nextIndex = this._selectedIndex;
+        if (nextIndex < this._tabs.length - 1) {
+            ++nextIndex;
+        }
+
+        this.selectIndex(nextIndex);
+    },
+
+    prevTab: function() {
+        let prevIndex = this._selectedIndex;
+        if (prevIndex > 0) {
+            --prevIndex;
+        }
+
+        this.selectIndex(prevIndex);
     }
 };
 Signals.addSignalMethods(Notebook.prototype);
@@ -995,6 +1013,7 @@ LookingGlass.prototype = {
     // Handle key events which are relevant for all tabs of the LookingGlass
     _globalKeyPressEvent : function(actor, event) {
         let symbol = event.get_key_symbol();
+        let modifierState = Shell.get_event_state(event);
         if (symbol == Clutter.Escape) {
             if (this._objInspector.actor.visible) {
                 this._objInspector.close();
@@ -1003,6 +1022,14 @@ LookingGlass.prototype = {
             }
             return true;
         }
+        // Ctrl+PgUp and Ctrl+PgDown switches tabs in the notebook view
+        if (modifierState & Clutter.ModifierType.CONTROL_MASK) {
+            if (symbol == Clutter.KEY_Page_Up) {
+                this._notebook.prevTab();
+            } else if (symbol == Clutter.KEY_Page_Down) {
+                this._notebook.nextTab();
+            }
+        }
         return false;
     },